#ifndef _GB_MNEMONICS_H_
#define _GB_MNEMONICS_H_

typedef unsigned char UINT8;

struct OP_PARAMS
{
	UINT8 length;
	UINT8 cycles;
	UINT8 t_states;
};

/* lista dei mnemonics delle istruzioni dello Z80-GB. La posizione nell'array indica il vero e proprio opcode, anche se essendo
 un CISC nel binario effettivo ogni opcode può essere seguito da 1 o 2 byte di dati (esempio 0x011000 -> LD, BC, 4096) */
extern char *mnemonics[];

extern OP_PARAMS instruction_params[];

/* L'opcode CB prevede istruzioni da due byte del formato 0xCBXX con XX da 0x00 a 0xFF, utilizziamo una seconda tabella */	
extern char *cb_mnemonics[];
	
/* rispetto allo z80 completo alcuni opcode sono cambiati, altri non esistono (quelli con NO come commento), e alcune istruzioni da due byte
   (quelle che iniziano con DD- ED- e FD-) non esistono perché non ci sono registri IX e IY
 */
	
	
#endif 